home *** CD-ROM | disk | FTP | other *** search
- From jladwig@soils.umn.edu Thu Sep 9 09:55:36 1993
- Return-Path: <jladwig@soils.umn.edu>
- Received: from saturn.soils.umn.edu by cs-mail.bu.edu (5.61+++/Spike-2.1)
- id AA20847; Thu, 9 Sep 93 09:55:34 -0400
- Received: by saturn.soils.umn.edu (4.1)
- id AA18878; Thu, 9 Sep 93 08:54:00 CDT
- Date: Thu, 9 Sep 93 08:54:00 CDT
- From: "John Ladwig" <jladwig@soils.umn.edu>
- Message-Id: <9309091354.AA18878@saturn.soils.umn.edu>
- To: tasos@cs.bu.edu (Anastasios Kotsikonas)
- Subject: Re: Listproc-6.0a to NeXTSTEP 2.1
- In-Reply-To: Anastasios Kotsikonas's message <9309091345.AA18778@cs.bu.edu> of 9 September 1993
- References: <199309081909.AA20564@nx1.soils.umn.edu>
- <9309091345.AA18778@cs.bu.edu>
- Status: RO
-
- Anastasios Kotsikonas <tasos@cs.bu.edu > writes on 9 September 1993 at 09:45:17 -0400
- > > How come we seem to have SysV flavor?
- >
- > It recognizes sigblock() and sirelse(), which are pure SYSV calls. Notice
- > it says it's got SYSV "flavor".
-
- OK, that makes sense.
-
- Compilation went just swell, however, it appears that there is a
- serious bug in the NS2.1 tmpnam function, which doesn't generate
- unique names after multiple calls with a NULL argument. This bug in
- the library *may* have been what caused me to lose *both* the
- .subscribers and .aliases file on my list recently. That was one of
- the things that got me looking seriously at 6.0a
-
- start was dying on the first go-round because the tmpps and tmpfound
- files were turning out to have the same name, which zero'd out the
- tmpfound file. Bad.
-
- Here's the replacement tmpnam I cobbled together, sorta based on the
- BSD NET2 version, although by no means as robust, it seems to do the
- right thing.
-
- I added a -DBROKEN_TMPNAM to the flags in Makefile and all *seems*
- well during initial testing.
-
-
- /* General compatibility routines */
-
- #include <stdio.h>
-
-
- #ifdef BROKEN_TMPNAM
-
- /* For those who have a broken tmpnam (like NeXTSTEP 2.1) */
-
- char *tmpnam(char *name)
- {
- static char space[L_tmpnam+1];
-
- if (name == NULL)
- name = space;
-
- sprintf(name, "/tmp/tmp.XXXXXX");
-
- return ((char *)mktemp(name));
- }
-
- #endif
-
-